#ifndef TRIANGLE_H
#define TRIANGLE_H
#include "Geometry.h"
#include <fstream>

/*
class Plane: public Geometry{
	public:
		Plane(std::ifstream& inputFile);
		virtual std::vector<double> intersection(Ray& ray);
		virtual bool contains(Vector& point);
		virtual Vector normal(Vector& surfacePoint);
		virtual Color getColor(Vector& position);
	private:
		Vector normalVector;
		double distance;
};
#endif

*/

class Triangle: public Geometry{
	public:
		Triangle(std::ifstream& inputFile);
		virtual std::vector<double> intersection(Ray& ray);
		virtual bool contains(Vector& point);
		virtual Vector normal(Vector& surfacePoint);
		virtual Color getColor(Vector& position);
	private:
		Vector position2;
		Vector position3;
		Vector edge1;
		Vector edge2;
		
		Vector w;
		Vector w0;
		
		Vector normalVector;
		double distance;
};
#endif
